1. Technical Field of the Invention
This invention relates to telecommunication systems and, more particularly, to a method of filtering responses to a request message that is multicast from a client to a plurality of servers in a network so that an optimum server can be selected.
2. Description of Related Art
In many types of telecommunications and data networks, various nodes operate in a client-server relationship. Often, when a client needs a server to perform a particular function, the client multicasts a request message to a plurality of servers in the network, and the first server to respond handles the task. In particular, in H.323 Internet Protocol (IP)-based telecommunications networks, a process is performed called the Gatekeeper Discovery process. The H.323 protocol is a multimedia communications protocol developed by the International Telecommunications Union-Telecommunications Standardization Sector (ITU-T). The H.323 protocol describes endpoints and how they interact in a packet-based network.
Endpoints defined by H.323 include, among others, a terminal, a gatekeeper, a gateway, and a multipoint control unit (MCU). The H.323 terminal provides a user with audio communications capabilities and, optionally, video and data communications capabilities. The gatekeeper controls access to a communications network such as a Local Area Network (LAN), and provides address translation (IP-to-telephone number, or IP-to-name, etc.). The gateway provides real-time, two-way communications between H.323 terminals and terminals operating in a circuit-switched network, such as wireline phones operating in the Public Switched Telephone Network (PSTN) or mobile stations operating in the Public Land Mobile Network (PLMN). The MCU provides support for multipoint conference calls.
Today, there is an explosive trend in user mobility along with an associated demand for accessing the same types of services enjoyed by fixed wireline users, and having access to these services regardless of the location of the mobile user. Increasing numbers of mobile users also desire access to data networks such as the Internet, and to services such as Voice-over-IP (VoIP) applications. In H.323 networks, if a mobile user has an IP address of its own, and desires to communicate over an IP-based network with another user whose IP address is also known, the mobile user can point directly to the other user, and does not need a gatekeeper. This mode, however, is very limited in its utility since most mobile terminals do not have a permanently assigned IP address, and the originating user may not know the IP address of the terminating user.
Alternatively, the mobile user can access a gatekeeper to obtain an IP address for himself and for the terminating user so that, for example, a VoIP call can be set up. A problem arises, however, in mobile networks such as the General Packet Radio Service (GPRS) when a mobile user roams into different networks with different gatekeepers. The mobile user needs to discover a gatekeeper that is compatible with his terminal, and that can provide the services he desires with the Quality of Service (QoS) that he needs.
The existing gatekeeper discovery process in H.323 is very limited. When the originating mobile terminal begins the registration process, a discovery message called the Gatekeeper Request (GRQ) message is multicast by the Serving GPRS Service Node (SGSN) to all gatekeepers. Typically, the gatekeeper that is the first one to respond is assigned. The only xe2x80x9cfilterxe2x80x9d in this process is that a gatekeeper will not respond if it does not recognize the mobile terminal. However, just because a gatekeeper is the first one to respond, does not mean it is the best gatekeeper for the user. For example, if a subscriber roams from Montreal to New York and needs to access an IP-based network, it would be more efficient, and the user would get better performance, if he uses a gatekeeper in the New York area. Under current standards, however, the user could get a gatekeeper anywhere in the world unless a specific gatekeeper is hard-coded into the request.
The existing hard-coding procedure uses a Gatekeeper Indentifier in the gatekeeper discovery message. The Gatekeeper Identifier is a BMP String (defined in X.680) that basically includes a name of the gatekeeper to be accessed, an endpoint type of the requesting terminal, and an endpoint alias of the requesting terminal which may be, for example, an e-mail address. By hard coding this information into a terminal""s gatekeeper discovery message, it ensures that the same gatekeeper is chosen to serve the mobile terminal each time it requests gatekeeper services. Hard coding, however, does not optimize the selected gatekeeper for a mobile subscriber who roams. This procedure is too simplistic in an environment where a terminal has to dynamically discover a gatekeeper having the proper capabilities, and that is located close enough to provide good performance.
There is no known solution to the disadvantages of the existing gatekeeper discovery procedures. In order to overcome the disadvantages of existing procedures, it would be advantageous to have a method of filtering responses from a plurality of gatekeepers so that an optimum gatekeeper can be selected. Such a method would be applicable not only to the gatekeeper discovery procedure, but also to any procedure in which a request message is multicast from a client to a plurality of servers so that an optimum server can be selected. The present invention provides such a method.
In one aspect, the present invention is a method of filtering responses to a gatekeeper discovery request message that is multicast from a mobile terminal to a plurality of gatekeepers in a communications network so that an optimum gatekeeper can be selected. When using the H.323 protocol, the Gatekeeper Request (GRQ) message is modified to include criteria for an optimum gatekeeper for the mobile terminal. Each gatekeeper, upon receiving the enhanced GRQ message, determines whether it meets the criteria in the request message. If so, a confirmation message is sent to the mobile terminal from each gatekeeper that meets the criteria.
In an alternative embodiment, gatekeepers that receive the enhanced GRQ message send a response indicating their capabilities to meet each of the criteria. The mobile terminal then determines the optimum gatekeeper by comparing the reported gatekeeper capabilities to the optimum gatekeeper criteria.
The method is also applicable to networks utilizing other protocols such as Session Initiation Protocol (SIP) developed by the Internet Engineering Task Force (IETF), as well as to data networks in general where a client multicasts a request message to a plurality of servers in the network.
In another aspect, the present invention is a gatekeeper that controls access to a communications network and responds to gatekeeper request messages from mobile terminals seeking access to the network. The gatekeeper includes receiving means for receiving a request message from a mobile terminal, the request message including criteria for an optimum gatekeeper. The gatekeeper also includes comparing means for determining whether the gatekeeper meets the criteria in the request message, and transmission means for sending a confirmation message to the mobile terminal upon determining that the gatekeeper meets the criteria.
In yet another aspect, the present invention is a mobile terminal in a radio telecommunications network that communicates with a gatekeeper that controls access to a packet-switched network. The mobile terminal includes means for requesting a service node to multicast a request message to a plurality of gatekeepers. The request message may include criteria for an optimum gatekeeper for the mobile terminal. The mobile terminal also includes receiving means for receiving a plurality of response messages from the gatekeepers. Each of the response messages includes a list of capabilities for the responding gatekeeper. Additionally, the mobile terminal includes means for comparing the received performance capabilities of each responding gatekeeper with the list of criteria for an optimum gatekeeper in order to determine which of the responding gatekeepers best meets the criteria.